// 接受不同的请求并予以调度请求

// 1、导入模块
const http = require('http');
// 导入自定义的url-ecut模块
const ecutUrl = require('./url-ecut');

// 2、创建服务器
const server = http.createServer();

// 3、监听request事件
server.on('request', (req, resp) => {
    console.log(req.method, req.url, 'HTTP/' + req.httpVersion);

    let urlInstance = ecutUrl.parse(req.url); //返回一个对象{path, session, query}
    console.log(urlInstance);

    resp.setHeader('content-type', 'text/html;charset=UTF-8');

    if (urlInstance.path === '/select') {
        resp.end('<h1>查询数据</h1>');
        return;
    }

    if (urlInstance.path === '/add') {
        resp.end('<h1>新增数据</h1>');
        return;
    }

    if (urlInstance.path === '/remove') {
        resp.end('<h1>删除数据</h1>');
        return;
    }

    if (urlInstance.path === '/update') {
        resp.end('<h1>更新数据</h1>');
        return;
    }

    if (urlInstance.path === '/move') {
        /*
        resp.statusCode = 302; // 300 ~ 399 : 表示重定向(要离开原资源打开新资源)
        resp.setHeader('location', 'http://www.ecut.edu.cn'); // 指定新资源的地址
        */
        resp.writeHead(302, { 'location': 'http://www.ecut.edu.cn' });

        resp.end();
        return;
    }

    resp.end(`<h1>请求路径(${req.url})错误</h1>`);

});

const port = 666;

// 使用 server 监听 指定主机 指定端口 上的请求
server.listen(port);